package fr.cephb.locustree.svg;

import org.w3c.dom.Document;
import org.w3c.dom.Element;

import fr.cephb.locustree.ChromInfo;
import fr.cephb.locustree.Organism;
import fr.cephb.locustree.Track;
import fr.cephb.locustree.URLCreator;

/**
 * Define how an object should be painted
 * @author lindenb
 *
 */
public interface  EntityPainter
	{
	public Organism getOrganism();
	public Track getTrack();
	public ChromInfo getChromosome();
	public int getPaneWidth();
	public void setUrlCreator(URLCreator urlCreator);
	public URLCreator getURLCreator();
	public void setOrganism(Organism organism);
	public void setTrack(Track track);
	public void setChromosome(ChromInfo chromosome);
	public void setPaneWidth(int paneWidth);
	public void setChromStart(int chromStart);
	public void setChromLength(int chromLength);
	public void setFontSize(int fontSize);
	public Element paintEntity(Document dom,MappedXY o,int y);
	}
